package com.juzhi.dvrapp.bean.dao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.juzhi.dvrapp.bean.DeviceModel;
import com.juzhi.dvrapp.bean.MessageModel;

import com.juzhi.dvrapp.bean.dao.DeviceModelDao;
import com.juzhi.dvrapp.bean.dao.MessageModelDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig deviceModelDaoConfig;
    private final DaoConfig messageModelDaoConfig;

    private final DeviceModelDao deviceModelDao;
    private final MessageModelDao messageModelDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        deviceModelDaoConfig = daoConfigMap.get(DeviceModelDao.class).clone();
        deviceModelDaoConfig.initIdentityScope(type);

        messageModelDaoConfig = daoConfigMap.get(MessageModelDao.class).clone();
        messageModelDaoConfig.initIdentityScope(type);

        deviceModelDao = new DeviceModelDao(deviceModelDaoConfig, this);
        messageModelDao = new MessageModelDao(messageModelDaoConfig, this);

        registerDao(DeviceModel.class, deviceModelDao);
        registerDao(MessageModel.class, messageModelDao);
    }
    
    public void clear() {
        deviceModelDaoConfig.clearIdentityScope();
        messageModelDaoConfig.clearIdentityScope();
    }

    public DeviceModelDao getDeviceModelDao() {
        return deviceModelDao;
    }

    public MessageModelDao getMessageModelDao() {
        return messageModelDao;
    }

}
